package cn.source.system.domain;

import cn.source.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 企业管理对象 sys_company
 *
 * @author sourcebyte.vip
 * @date 2023-10-19
 */
public class SysCompany {
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 企业名称 */
    @Excel(name = "企业名称")
    private String name;

    /** 企业名称 */
    @Excel(name = "企业简称")
    private String alias;

    /** 所属行业 */
    @Excel(name = "所属行业")
    private String industry;

    /** 省份 */
    @Excel(name = "省份")
    private String province;

    /** 城市 */
    @Excel(name = "城市")
    private String city;

    /** 区域 */
    @Excel(name = "区域")
    private String area;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 联系人 */
    @Excel(name = "联系人")
    private String linkMan;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String linkPhone;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后业务日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastOptDate;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastLoginTime;

    /** 授权年数 */
    @Excel(name = "授权年数")
    private Integer effectiveYear;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date effectiveStartDate;

    /** 结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date effectiveEndDate;

    /** 授权用户数 */
    @Excel(name = "授权用户数")
    private Integer effectiveUserNum;

    /** 管理员账号 */
    @Excel(name = "管理员账号")
    private String userName;

    /** 登录密码 */
    @Excel(name = "登录密码")
    private String password;

    /** Logo */
    @Excel(name = "Logo")
    private String logo;

    /** 代理商 */
    @Excel(name = "代理商")
    private String agentUnit;

    /** 企业状态（0正常 1停用） */
    @Excel(name = "企业状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 删除标志（0代表存在 1代表删除） */
    private String delFlag;

    /** appId */
    private String appId;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 备注 */
    private String remark;

    /** 负库存（0代表正常 1代表允许负库存） */
    private String negativeStock;

    /** 租赁关联（0代表不启用租赁管理 1代表启用租赁管理） */
    private String rentManage;

    public String getAlias() {
        return alias;
    }

    public void setAlias(String alias) {
        this.alias = alias;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setIndustry(String industry) {
        this.industry = industry;
    }

    public String getIndustry() {
        return industry;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getProvince() {
        return province;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCity() {
        return city;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getArea() {
        return area;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getAddress() {
        return address;
    }

    public void setLinkMan(String linkMan) {
        this.linkMan = linkMan;
    }

    public String getLinkMan() {
        return linkMan;
    }

    public void setLinkPhone(String linkPhone) {
        this.linkPhone = linkPhone;
    }

    public String getLinkPhone() {
        return linkPhone;
    }

    public void setEffectiveYear(Integer effectiveYear) {
        this.effectiveYear = effectiveYear;
    }

    public Integer getEffectiveYear() {
        return effectiveYear;
    }

    public void setEffectiveStartDate(Date effectiveStartDate) {
        this.effectiveStartDate = effectiveStartDate;
    }

    public Date getEffectiveStartDate() {
        return effectiveStartDate;
    }

    public void setEffectiveEndDate(Date effectiveEndDate) {
        this.effectiveEndDate = effectiveEndDate;
    }

    public Date getEffectiveEndDate() {
        return effectiveEndDate;
    }

    public void setEffectiveUserNum(Integer effectiveUserNum) {
        this.effectiveUserNum = effectiveUserNum;
    }

    public Integer getEffectiveUserNum() {
        return effectiveUserNum;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserName() {
        return userName;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPassword() {
        return password;
    }

    public void setLogo(String logo) {
        this.logo = logo;
    }

    public String getLogo() {
        return logo;
    }

    public void setAgentUnit(String agentUnit) {
        this.agentUnit = agentUnit;
    }

    public String getAgentUnit() {
        return agentUnit;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public Date getLastOptDate() {
        return lastOptDate;
    }

    public void setLastOptDate(Date lastOptDate) {
        this.lastOptDate = lastOptDate;
    }

    public Date getLastLoginTime() {
        return lastLoginTime;
    }

    public void setLastLoginTime(Date lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }

    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getNegativeStock() {
        return negativeStock;
    }

    public void setNegativeStock(String negativeStock) {
        this.negativeStock = negativeStock;
    }

    public String getRentManage() {
        return rentManage;
    }

    public void setRentManage(String rentManage) {
        this.rentManage = rentManage;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("name", getName())
                .append("industry", getIndustry())
                .append("province", getProvince())
                .append("city", getCity())
                .append("area", getArea())
                .append("address", getAddress())
                .append("linkMan", getLinkMan())
                .append("linkPhone", getLinkPhone())
                .append("effectiveYear", getEffectiveYear())
                .append("effectiveStartDate", getEffectiveStartDate())
                .append("effectiveEndDate", getEffectiveEndDate())
                .append("effectiveUserNum", getEffectiveUserNum())
                .append("userName", getUserName())
                .append("password", getPassword())
                .append("logo", getLogo())
                .append("agentUnit", getAgentUnit())
                .append("status", getStatus())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
